runtime.pageAlloc.scav (field)
38 uses
runtime (current package)
mgcscavenge.go#L337: atomic.Xadduintptr(&mheap_.pages.scav.released, r)
mgcscavenge.go#L502: lock(&p.scav.lock)
mgcscavenge.go#L504: printScavTrace(p.scav.gen, atomic.Loaduintptr(&p.scav.released), false)
mgcscavenge.go#L506: p.inUse.cloneInto(&p.scav.inUse)
mgcscavenge.go#L510: if p.scav.scavLWM.lessThan(p.scav.freeHWM) {
mgcscavenge.go#L516: startAddr = p.scav.freeHWM
mgcscavenge.go#L522: startAddr = p.scav.scavLWM
mgcscavenge.go#L524: p.scav.inUse.removeGreaterEqual(startAddr.addr())
mgcscavenge.go#L532: p.scav.reservationBytes = alignUp(p.inUse.totalBytes, pallocChunkBytes) / scavengeReservationShards
mgcscavenge.go#L533: p.scav.gen++
mgcscavenge.go#L534: atomic.Storeuintptr(&p.scav.released, 0)
mgcscavenge.go#L535: p.scav.freeHWM = minOffAddr
mgcscavenge.go#L536: p.scav.scavLWM = maxOffAddr
mgcscavenge.go#L537: unlock(&p.scav.lock)
mgcscavenge.go#L547: lock(&p.scav.lock)
mgcscavenge.go#L548: gen := p.scav.gen
mgcscavenge.go#L551: r := p.scav.inUse.removeLast(p.scav.reservationBytes)
mgcscavenge.go#L556: unlock(&p.scav.lock)
mgcscavenge.go#L567: p.scav.inUse.removeGreaterEqual(newBase)
mgcscavenge.go#L568: unlock(&p.scav.lock)
mgcscavenge.go#L583: lock(&p.scav.lock)
mgcscavenge.go#L584: if gen == p.scav.gen {
mgcscavenge.go#L585: p.scav.inUse.add(r)
mgcscavenge.go#L587: unlock(&p.scav.lock)
mgcscavenge.go#L766: lock(&p.scav.lock)
mgcscavenge.go#L767: if oAddr := (offAddr{addr}); oAddr.lessThan(p.scav.scavLWM) {
mgcscavenge.go#L768: p.scav.scavLWM = oAddr
mgcscavenge.go#L770: unlock(&p.scav.lock)
mheap.go#L1536: lock(&h.pages.scav.lock)
mheap.go#L1537: gen := h.pages.scav.gen
mheap.go#L1538: unlock(&h.pages.scav.lock)
mpagealloc.go#L266: scav struct {
mpagealloc.go#L340: p.scav.scavLWM = maxSearchAddr
mpagealloc.go#L891: if offLimit := (offAddr{limit}); p.scav.freeHWM.lessThan(offLimit) {
mpagealloc.go#L892: p.scav.freeHWM = offLimit
The pages are generated with Golds v0.4.9. (GOOS=linux GOARCH=amd64)